#!/bin/bash

# SurveyKing 高并发部署启动脚本 - 适配2核心4GB内存

echo "🚀 启动 SurveyKing 高并发部署（2核心4GB内存优化）..."

# 检查Docker和Docker Compose
if ! command -v docker &> /dev/null; then
    echo "❌ Docker 未安装，请先安装 Docker"
    exit 1
fi

if ! command -v docker-compose &> /dev/null; then
    echo "❌ Docker Compose 未安装，请先安装 Docker Compose"
    exit 1
fi

# 创建必要的目录
echo "📁 创建必要的目录..."
mkdir -p mysql/data mysql/conf nginx/ssl files logs

# 设置文件权限
echo "🔐 设置文件权限..."
chmod 755 start.sh
chmod -R 755 nginx/
chmod -R 755 mysql/

# 停止现有容器
echo "🛑 停止现有容器..."
docker-compose down

# 清理旧数据（可选，取消注释以清理）
# echo "🧹 清理旧数据..."
# docker-compose down -v
# sudo rm -rf mysql/data/*

# 启动服务
echo "🚀 启动服务..."
docker-compose up -d

# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 30

# 检查服务状态
echo "🔍 检查服务状态..."
docker-compose ps

# 检查nginx配置
echo "🔍 检查nginx配置..."
docker-compose exec nginx nginx -t

# 显示访问信息
echo ""
echo "✅ 部署完成！"
echo ""
echo "📊 访问信息："
echo "   - Nginx代理地址: http://localhost (端口80)"
echo "   - 直接访问地址: http://localhost:1991 (端口1991)"
echo "   - 健康检查: http://localhost/health"
echo ""
echo "🔧 管理命令："
echo "   - 查看日志: docker-compose logs -f"
echo "   - 重启服务: docker-compose restart"
echo "   - 停止服务: docker-compose down"
echo ""
echo "📈 性能监控："
echo "   - 查看容器资源使用: docker stats"
echo "   - 查看nginx访问日志: docker-compose logs -f nginx"
echo "   - 查看应用日志: docker-compose logs -f surveyking"
echo ""

# 显示系统资源使用情况
echo "💻 系统资源使用情况："
docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}"

echo ""
echo "🎯 高并发优化说明（2核心4GB内存）："
echo "   - Nginx反向代理，支持1000+并发连接"
echo "   - 静态资源缓存优化"
echo "   - MySQL连接池优化（最大500连接）"
echo "   - JVM内存优化（512M-1G）"
echo "   - 支持500+用户同时访问"
echo "   - 资源分配：MySQL(512M) + SurveyKing(1G) + Nginx(256M)"
echo "" 